package com.zzl.bonds.ticket.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import com.zzl.general.common.utils.DoubleSerialize;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author ：hyt
 * @description：转让分页
 * @date ：2022/2/19 13:41
 */
@Data
@ApidocModel
@SuppressWarnings("javadoc")
public class TicketTransferPage {
    @ApidocModelProperty(description = "主键")
    private String id;
    @ApidocModelProperty(description = "凭证编号")
    private String ticketNo;
    @ApidocModelProperty(description = "收单企业")
    private String receiveEnterpriseName;
    @ApidocModelProperty(description = "凭证金额")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double transferAmount;
    @ApidocModelProperty(description = "转单企业")
    private String transferEnterpriseName;
    @ApidocModelProperty(description = "金融机构名称")
    private String instinctyName;
    @ApidocModelProperty(description = "开单方企业")
    private String openEnterpriseName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "开单日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date invoiceTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "转让日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "到期日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date expireTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "兑付日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date cashTime;
    @ApidocModelProperty(description = "上链地址")
    private String chainAddress;

    @ApidocModelProperty(description = "处理状态")
    private String handStatus;
    @ApidocModelProperty(description = "处理状态信息悬浮")
    private String handStatusInfo;
    @ApidocModelProperty(description = "处理进度，如2/4")
    private Integer handProgress;
    @ApidocModelProperty(description = "操作按钮集合")
    private List<KeyValue> operateButton;

    @ApidocModelProperty(description = "票据状态 1：拆转待审核 2、拆转已复核 3、拆转待签收（平台审核通过） 4、供应商已签收 5、已被拆转")
    private Integer ticketStatus;

}
